////////////////////////////////////////////////////////////////////////////////////
//                                                                                                                                //
//                    Linked Stack's push, pop, create, destory functions' implemention code               //
//                                                                                                                                //
//                                                                                                                                //
//                        Author:    Jack Hui (huiguobin)                                                               //
//                                                                                                                                //
//                                                                                                                                //
////////////////////////////////////////////////////////////////////////////////////

//////////////////////////////Header File/////////////////////////////////////////////

#include <assert.h>
#include <stdlib.h>
#include <stdio.h>

typedef void * DataType;

/*Linked Stack structure*/
typedef struct node{
	DataType data;
	struct node *link;
} LinkedNode, *LinkStack;

int push(LinkedNode **stack, void *data);
int pop(LinkedNode **stack, void **data);
int create(LinkedNode **stack);
int destory(LinkedNode *stack);
int is_stack_empty(LinkedNode *stack);
